package com.xueqiu.movieplaymanagersystem.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.xueqiu.movieplaymanagersystem.entity.Comment;

import java.util.List;

/**
 * @author xueqiu
 */
@Mapper
public interface CommentMapper {
    /**
     * 新增单个数据
     * @param originData 单个标签数据
     * @return 新增条数
     */
    int insert(
            Comment originData
    );

    /**
     * 查询除父级评论外的所有子评论，根据新闻id
     * 换句话说，查询一个新闻的所有楼中楼评论
     * @param blogId 当前评论所在的新闻id
     * @return 评论列表
     */
    List<Comment> selectByBlogId(
            String blogId
    );

    /**
     * 查询所有父级评论，根据新闻id
     * 换句话说，查询一个新闻的所有主楼层的评论；不包含楼中楼评论
     * @param parentId 父级评论id
     * @param blogId 当前评论所在的新闻id
     * @return 评论列表
     */
    List<Comment> selectByBlogIdAndParentId(
            @Param("parentId")
            String parentId,
            @Param("blogId")
            String blogId
    );

    /**
     * 查询所有评论条数根据新闻id
     * @param blogId 新闻id
     * @return 所有评论条数
     */
    Integer selectCountByBlogId(
            @Param("blogId")
            String blogId
    );

    /**
     * 查询数据库中所有评论条数
     * @return 所有评论条数
     */
    Integer selectCount();
}
